package cn.edu.sgu.www.mhxysy.service.children;

import cn.edu.sgu.www.mhxysy.dto.children.ChildrenDTO;
import cn.edu.sgu.www.mhxysy.entity.children.Children;
import cn.edu.sgu.www.mhxysy.pager.children.ChildrenPager;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public interface ChildrenService {

    /**
     * 初始化子女技能
     */
    @Transactional(rollbackFor = Exception.class)
    void init();

    /**
     * 添加子女
     * @param childrenDTO 子女信息
     */
    @Transactional(rollbackFor = Exception.class)
    void insert(ChildrenDTO childrenDTO);

    /**
     * 通过ID删除子女
     * @param id 子女ID
     */
    @Transactional(rollbackFor = Exception.class)
    void deleteById(String id);

    /**
     * 通过ID修改子女信息
     * @param childrenDTO 子女信息
     */
    void updateById(ChildrenDTO childrenDTO);

    /**
     * 查询全部子女
     * @return List<Children>
     */
    List<Children> selectAll();

    /**
     * 通过ID查询子女信息
     * @param id 子女ID
     * @return Children
     */
    Children selectById(String id);

    /**
     * 分页查询子女列表
     * @param pager 分页参数
     * @return Page<Children>
     */
    Page<Children> selectByPage(ChildrenPager pager);
}